package fr.jade.service.nodes;

import org.objectweb.fractal.api.Component;
import org.objectweb.fractal.api.factory.InstantiationException;

import fr.jade.util.JadeException;

/**
 * @author chris
 */
public interface ClusterManager
{
	/**
	 * Dynamically adds a node
	 * @param physical hostname of the node
	 * @param virtual component name
	 * @return the node
	 */
	public Component addNode(String physical, String virtual)
		throws InstantiationException;
	
//	/**
//	 * Dynamically adds a cluster
//	 * @param cluster name of the cluster
//	 * @return the cluster
//	 */
//	public Component addCluster(String cluster)
//		throws InstantiationException;
//	
//	/**
//	 * nestNode puts an existing node inside an existing cluster
//	 * @param nodeName the node
//	 * @param clusterName the cluster
//	 */
//	public void nestNode(String nodeName, String clusterName)
//		throws JadeException;
//	
//	/**
//	 * updates the clusters with an "dynamic" ADL file
//	 * @param ADLFile the ADL file name
//	 * @throws JadeException
//	 */
//	public void updateCluster(String ADLFile)
//		throws JadeException;
}
